package se.chalmers.tda366.crumble.core;

import java.util.Date;

/**
 * 
 * Interface for the representation of an article.
 * An article contains a headline, a source web address,
 * a date when it was published aswell as a description
 * and its content.
 * 
 * @author anton.wernvik
 *
 */
public interface IArticle extends Comparable<IArticle>{
	/**
	 * Returns the articles content
	 * @return article content
	 */
	public String getContent();
	
	/**
	 * Return the article web address as a String 
	 * @return article source address
	 */
	public String getSource();
	
	/**
	 * Returns the Title of the article
	 * @return article headline
	 */
	public String getHeadline();
	
	/**
	 * Returns the articles date of publishing as a String
	 * @return article publishing date
	 */
	public String getDateString();
	
	/**
	 * Returns the articles date of publishing as a Date
	 * @return article publishing date
	 */
	public Date getDate();
	
	/**
	 * Returns the articles description
	 * @return article description
	 */
	public String getDescription();
}
